<!DOCTYPE html>
<html>
<head>
    <link href="/prism/prism.css" rel="stylesheet" />
</head>
<body>

    <pre><code class="language-java">
    
    表字段信息的查询语句：
    SELECT TABLE_NAME, COLUMN_NAME  columnName, DATA_TYPE , CASE IS_NULLABLE WHEN 'YES' THEN 'Y' ELSE 'N' END nullable,
 CASE COLUMN_KEY WHEN 'PRI'  THEN 'Y' ELSE 'N' END isPk, 
 CASE EXTRA WHEN 'auto_increment' THEN 'Y' ELSE 'N' END autoincrement,
CASE WHEN CHARACTER_MAXIMUM_LENGTH  is NULL and data_type='date'
	then 0 when CHARACTER_MAXIMUM_LENGTH  is NULL and DATA_TYPE!='date' 
	then NUMERIC_PRECISION ELSE CHARACTER_MAXIMUM_LENGTH END length, 
 COLUMN_COMMENT comment,
'mysql' as DB_TYPE 
 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '表名' and  TABLE_SCHEMA= '数据库名';
    
    
   注意：如果生成后的页面中需”${ “，需在大括号后加空格
    
	一、可为空
		用于表单验证
	二、查询页面
		1、列表显示---勾选，列表中会显示该字段
		2、查询匹配方式
			none--非查询条件；any--模糊匹配；eq--精确匹配；select--下拉选择；left--左匹配；
			right--右匹配；dateRange--日期范围；numberRange--数量范围
	
	三、编辑页面
		1、字段校验
			number--数字类型；integer--数字整形；date--日期类型；tel--电话号码；mobile--手机号码；
			email--邮箱；identity--身份证验证；url--链接地址；letter--字母；letterAndNumber--字母和数字；
			letterOrNumber--字母或者数字；chinese--汉字
			
				
		2、字段类型
			none--不显示；input--单行文本；hidden--隐藏表单；dat--日期控件；datetime--时间控件；
			textarea--多行文本；checkbox--多选；htmleditor--富文本；radio--单选(默认值不填写（开关方式）或采用字典值方式)；file--单文件上传控件;
			select--下拉框（默认值:填写字典值;填写"表名,要显示的字段名"【英文逗号隔开】,采用联想可输入;手动在下拉框中输入值【0:针对商品;1:针对店铺;2:针对商家】）；
			oneToOne--一对多（默认值:填写表名）；
			oneToManyList--一对多（默认值:填写表名）生成：list<Object> objects；
			oneToManySet--一对多（默认值:填写表名）生成：Set<Object> objects；
			oneToManyMap--一对多（默认值:填写表名）生成：Map<String, String> objects;；
			manytomany--多对多（默认值:填写表名）,同一对多三中生成方式，会牵扯三个表;

                
		3、默认值（可结合字典类型使用，select(采用字典值方式)）
			改值三种填写方式，一个值（字典模式，可用于下拉），两个值（表名，要显示的字段）用于联动或特殊表单（依据表名判断）
		
	四、详情页面
		1、字段类型
			none--不显示；show--显示；date--日期处理；datetime--时间处理；textarea；
			outusername--根据用户名；radio；select--显示值，字典值；htmleditor
            file
		2、默认值（暂时未用到）
	
	
三的实例：
\#if(${field.inputType}=="select")
\#if("\$!field.inputValueOne" == "")
&lt;select lay-filter="${field.field}" id="${field.field}" name="${field.field}" style="display: none;" \#if(!$field.nullable)lay-verify="required"\#end  lay-search=""&gt;
&lt;option value=""&gt;==请选择${field.comment}==&lt;/option&gt;
&lt;my:outOptions code="${field.inputValue}" value="${${model.modelL}.${field.field}}"/&gt;
&lt;/select&gt;					
\#else
&lt;select lay-filter="${field.field}_filter" id="${field.field}" name="${field.field}" style="display: none;" \#if(!$field.nullable)lay-verify="required"\#end lay-search=""&gt;
&lt;option value=""&gt;==请选择${field.comment}==&lt;/option&gt;
&lt;c:forEach items="${${field.inputValueOneL}EntityList}" var="item"&gt;
&lt;option value="${ item.code}" &lt;c:if test="${ item.code==${model.modelL}.${field.field}}"&gt;selected = "selected"&lt;/c:if&gt;&gt;${ item.${field.inputValueTwo}}&lt;/option&gt;
&lt;/c:forEach&gt;
&lt;/select&gt;
\#end	
	
	</code></pre>

    <pre><code class="language-java">编辑页面：
    1、字段类型 none 为编辑页面不出现该字段
    2、字段类型和默认值结合使用，select(采用字典值))</code></pre>

    <pre><code class="language-java">
	一、可为空
		用于表单验证
	二、查询页面
		1、列表显示---勾选，列表中会显示该字段
		2、查询匹配方式
			none--非查询条件；any--模糊匹配；eq--精确匹配；select--下拉选择；left--左匹配；
			right--右匹配；dateRange--日期范围；numberRange--数量范围
	
	三、编辑页面
		1、字段校验
			number--数字类型；integer--数字整形；date--日期类型；tel--电话号码；mobile--手机号码；
			email--邮箱；identity--身份证验证；url--链接地址；letter--字母；letterAndNumber--字母和数字；
			letterOrNumber--字母或者数字；chinese--汉字
				
		2、字段类型
			none--不显示；input--单行文本；hidden--隐藏表单；dat--日期控件；datetime--时间控件；
			textarea--多行文本；checkbox--多选；htmleditor--富文本；radio--单选；file--单文件上传控件;
			select--下拉框（默认值:填写字典值或填写"表名,要显示的字段名"【英文逗号隔开】,采用联想可输入）；
			oneToOne--一对多（默认值:填写表名）；
			oneToManyList--一对多（默认值:填写表名）生成：list&lt;Object&gt; objects；
			oneToManySet--一对多（默认值:填写表名）生成：Set&lt;Object&gt; objects；
			oneToManyMap--一对多（默认值:填写表名）生成：Map&lt;String, String&gt; objects;；
			manytomany--多对多（默认值:填写表名）,同一对多三中生成方式，会牵扯三个表;

                
		3、默认值（可结合字典类型使用，暂时只用到了字段类型是select(采用字典值方式)）
		
	四、详情页面
		1、字段类型
			none--不显示；show--显示；date--日期处理；datetime--时间处理；textarea；
			outusername--根据用户名；radio；select--显示值，字典值；htmleditor
            file
		2、默认值（暂时未用到）
	
	
三的实例：
\#if(${field.inputType}=="select")
\#if("\$!field.inputValueOne" == "")
&lt;select lay-filter="${field.field}" id="${field.field}" name="${field.field}" style="display: none;" \#if(!$field.nullable)lay-verify="required"\#end  lay-search=""&gt;
&lt;option value=""&gt;==请选择${field.comment}==&lt;/option&gt;
&lt;my:outOptions code="${field.inputValue}" value="${${model.modelL}.${field.field}}"/&gt;
&lt;/select&gt;					
\#else
&lt;select lay-filter="${field.field}_filter" id="${field.field}" name="${field.field}" style="display: none;" \#if(!$field.nullable)lay-verify="required"\#end lay-search=""&gt;
&lt;option value=""&gt;==请选择${field.comment}==&lt;/option&gt;
&lt;c:forEach items="${${field.inputValueOneL}EntityList}" var="item"&gt;
&lt;option value="${ item.code}" &lt;c:if test="${ item.code==${model.modelL}.${field.field}}"&gt;selected = "selected"&lt;/c:if&gt;&gt;${ item.${field.inputValueTwo}}&lt;/option&gt;
&lt;/c:forEach&gt;
&lt;/select&gt;
\#end	
	
	</code></pre>

    <script src="/prism/prism.js"></script>
</body>
</html>